#ifndef __WA_MOVEBODY
#define __WA_MOVEBODY

class AW_MoveBody : public AW_Body {
	
public:
	AW_MoveBody(Ontology *O,FTKBase *Memory);
	AW_MoveBody(FILE *fp,Ontology *O,FTKBase *Memory);

	virtual ~AW_MoveBody() {
	} /* ~AW_MoveBody */ 

	virtual bool load(FILE *fp);
	virtual bool save(FILE *fp);

	virtual bool is_a(char *c);
	virtual bool is_a(Symbol *c);

	virtual void actualize(float time,float timeinc,List<AW_Message> *message_queue);

	virtual bool ApplyOperator(FeatureTerm *op,float time,AW_Agent *a,AW_World *w);

protected:
	void operators(void);

private:
	int m_current_move;	/* -1:nothing, 0:translating, 1:rotating */ 
	float m_current_rotation;
	Vector m_current_translation;
	float m_current_move_time_remaining;

}; /* AW_MoveBody */ 


#endif

